package com.ruoyi.common.enums;

import lombok.Getter;

import java.util.Arrays;

@Getter
public enum DeviceTypeEnum {
    UNKNOWN("999", "未知"),

    /**
     * 零
     */
    ZERO("00", "通用设备兼容没有设置或未知设备"),
    /**
     * 一
     */
    ONE("01", "EH508报警主机"),
    /**
     * 二
     */
    TWO("02", "EH508NP网络模块"),
    /**
     * 三
     */
    THREE("03", "NETLINKBOARD32路网络模块"),
    /**
     * 四
     */
    FOUR("04", "EH508NETCILENT网络终端"),
    /**
     * 五
     */
    FIVE("05", "EH800 8路光纤主机"),
    /**
     * 六
     */
    SIX("06", "EH508NP_UDP 私有服务器网络模块"),
    /**
     * 七
     */
    SEVEN("07", "EH508CILENT_UDP 私有服务器接警终端"),
    /**
     * 八
     */
    EIGHT("08", "EH508SEVER_UDP 私有服务器主机"),
    /**
     * 九
     */
    NINE("09", "EH508MAP_UDP 私有服务器电子地图"),
    /**
     * 十
     */
    TEN("0A", "EH508_UDP 私有服务器用EH508主机"),
    /**
     * 三二
     */
    THIRTYTWO("32", "H768_IP系列网络模块"),
    /**
     * 三三
     */
    THIRTYTHREE("33", "D238C_IP网络模块"),
    /**
     * 三四
     */
    THIRTYFOUR("34", "H778S+ 系列报警主机"),
    /**
     * 三五
     */
    THIRTYFIVE("35", "H778S系列报警主机"),
    /**
     * 三六
     */
    THIRTYSIX("36", "N201 N202网络模块"),

    ;

    private String code;
    private String desc;

    DeviceTypeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public static DeviceTypeEnum valueOfCode(String code) {
        return Arrays.stream(values()).filter(status -> status.getCode().equals(code)).findFirst().orElse(UNKNOWN);
    }
}
